package br.gov.ms.tce.modelo.bean;

import javax.persistence.Column;
import javax.persistence.Embeddable;


/**
*  @class TelefoneId
 * @author Anderson Paulino
 * @date 27/05/2011
 *
 */
@Embeddable
public class TelefoneId implements java.io.Serializable {

	/**
	 * serialVersionUID
	 */
	private static final long serialVersionUID = -256866741283660114L;
	private int codPessoa;
	private int codTipoTelefone;
	private String descricao;

	public TelefoneId() {
	}

	public TelefoneId(int cdPessoa, int cdTipTel) {
		this.codPessoa = cdPessoa;
		this.codTipoTelefone = cdTipTel;
	}
	
	/**
	 * @return Obtém o valor da propriedade codPessoa
	 */
	@Column(name = "cod_pessoa", nullable = false)
	public int getCodPessoa() {
		return codPessoa;
	}

	/**
	 * @param codPessoa configura a propriedade codPessoa
	 */
	public void setCodPessoa(int codPessoa) {
		this.codPessoa = codPessoa;
	}
	

	/**
	 * @return Obtém o valor da propriedade codTipoTelefone
	 */
	public int getCodTipoTelefone() {
		return codTipoTelefone;
	}

	/**
	 * @return Obtém o valor da propriedade descricao
	 */
	public String getDescricao() {
		return descricao;
	}

	/**
	 * @param descricao configura a propriedade descricao
	 */
	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}

	/**
	 * @param codTipoTelelefone configura a propriedade codTipoTelelefone
	 */
	public void setCodTipoTelefone(int codTipoTelefone) {
		this.codTipoTelefone = codTipoTelefone;
	}

	public boolean equals(Object other) {
		if ((this == other))
			return true;
		if ((other == null))
			return false;
		if (!(other instanceof TelefoneId))
			return false;
		TelefoneId castOther = (TelefoneId) other;

		return (this.getCodPessoa() == castOther.getCodPessoa())
				&& (this.getCodTipoTelefone() == castOther.getCodTipoTelefone())
				&& (this.getDescricao().equals(castOther.getDescricao()));
	}

	public int hashCode() {
		int result = 17;

		result = 37 * result + this.getCodPessoa();
		result = 37 * result + this.getCodTipoTelefone();
		return result;
	}

}
